home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / basic / qmenu10.zip / SAMPLEA.BAS < prev    next >
BASIC Source File  |  1992-04-05  |  2KB  |  115 lines

  1. ' An example of using a menu to call subroutines.
  2. ' See MENUMAN.DOC for more information.
  3.  
  4. DECLARE SUB GoodBye ()
  5. DECLARE SUB LevelA ()
  6. DECLARE SUB LevelB ()
  7. DECLARE SUB LevelC ()
  8. DECLARE SUB LevelD ()
  9. DECLARE SUB LevelE ()
  10. DECLARE SUB LevelF ()
  11. DECLARE SUB LevelG ()
  12. DECLARE SUB Main ()
  13.  
  14.  
  15. CLS
  16. Main
  17.  
  18. SUB GoodBye
  19. CLS
  20. LOCATE 15, 25: COLOR 0, 15: PRINT "     DEMO PROGRAM OVER     ": COLOR 15, 0
  21. SLEEP 10
  22. SYSTEM
  23. END SUB
  24.  
  25. SUB LevelA
  26. CLS
  27. LOCATE 3, 1: PRINT STRING$(55, 219); "   THIS IS LEVEL A"
  28. SLEEP 10
  29. Main
  30. END SUB
  31.  
  32. SUB LevelB
  33. CLS
  34. LOCATE 5, 1: PRINT STRING$(55, 219); "   THIS IS LEVEL B"
  35. SLEEP 10
  36. Main
  37.  
  38. END SUB
  39.  
  40. SUB LevelC
  41. CLS
  42. LOCATE 7, 1: PRINT STRING$(55, 219); "   THIS IS LEVEL C"
  43. SLEEP 10
  44. Main
  45.  
  46. END SUB
  47.  
  48. SUB LevelD
  49. CLS
  50. LOCATE 9, 1: PRINT STRING$(55, 219); "   THIS IS LEVEL D"
  51. SLEEP 10
  52. Main
  53.  
  54. END SUB
  55.  
  56. SUB LevelE
  57. CLS
  58. LOCATE 11, 1: PRINT STRING$(55, 219); "   THIS IS LEVEL E"
  59. SLEEP 10
  60. Main
  61.  
  62. END SUB
  63.  
  64. SUB LevelF
  65. CLS
  66. LOCATE 13, 1: PRINT STRING$(55, 219); "   THIS IS LEVEL F"
  67. SLEEP 10
  68. Main
  69.  
  70. END SUB
  71.  
  72. SUB LevelG
  73. CLS
  74. LOCATE 15, 1: PRINT STRING$(55, 219); "   THIS IS LEVEL G"
  75. SLEEP 10
  76. Main
  77.  
  78. END SUB
  79.  
  80. SUB Main
  81. Top:
  82. CLS
  83. LOCATE 6, 1: PRINT STRING$(80, 221)
  84. FOR SIDE = 2 TO 10
  85. PRINT STRING$(5, 221); SPACE$(70); STRING$(5, 221)
  86. NEXT
  87. PRINT STRING$(80, 221)
  88. title$ = "SAMPLE FOR SUBROUTINES"
  89. X = (80 - LEN(title$)) / 2
  90. LOCATE 3, 1: COLOR 15, 0: PRINT TAB(X); title$; : COLOR 7, 0
  91. LOCATE 8, 15: PRINT "A }  CALL LEVEL A"; TAB(45); "E }  CALL LEVEL E"
  92. LOCATE 10, 15: PRINT "B }  CALL LEVEL B"; TAB(45); "F }  CALL LEVEL F"
  93. LOCATE 12, 15: PRINT "C }  CALL LEVEL C"; TAB(45); "G }  CALL LEVEL G"
  94. LOCATE 14, 15: PRINT "D }  CALL LEVEL D"; TAB(45); "H }  QUIT PROGRAM"
  95. DO: Choice$ = INKEY$
  96. LOOP WHILE Choice$ = ""
  97. Choice$ = UCASE$(Choice$)
  98. SELECT CASE ASC(Choice$)
  99. CASE 65: LevelA
  100. CASE 66: LevelB
  101. CASE 67: LevelC
  102. CASE 68: LevelD
  103. CASE 69: LevelE
  104. CASE 70: LevelF
  105. CASE 71: LevelG
  106. CASE 72: GoodBye
  107. CASE ELSE
  108. LOCATE 23, 23: COLOR 15, 0: PRINT "  WRONG KEY PRESSED -- TRY AGAIN  ": COLOR 7, 0
  109. SLEEP 3
  110. GOTO Top
  111. END SELECT
  112.  
  113. END SUB
  114.  
  115.